{ IMAGINE Version 1.1 Definition file           }
{         12-September-1988                     }
{ (c) by IMAGIC Grafik,   D-7447 Aichtal-Aich.  }

{ constants: }
CON  HIGH       =    2; { resolutions }
CON  MEDIUM     =    1;
CON  LOW        =    0;

CON  UP         =    2; { directions }
CON  DOWN       =    1;
CON  LEFT       =    3;
CON  RIGHT      =    4;
CON  DIAGONAL   =    5;

CON  FULL       =    $FFFF;  { full line }
CON  HALF_1     =    $AAAA;  { half line - I }
CON  HALF_2     =    $5555;  { half line - II }

CON  ALL        =    %1111;  { all mirrors }
CON  IN         =    1;      { flap_in  mode }
CON  OUT        =    2;      { flap_out mode }
CON  SOURCE     =    2;      { redraw picture }
CON  DESTIN     =    1;      { redraw picture }

{ Fading modes: }
CON  M_REPLACE  =    0;      { replace }
CON  M_AND      =    1;      { and }
CON  M_OR       =    2;      { or }
CON  M_XOR      =    3;      { xor }
CON  M_NOT      =    4;      { not }
CON  M_CHANGE   =    5;      { change }
CON  M_TRANSP   =    6;      { transparent }
CON  M_INVTRAN  =    7;      { invers transparent }

{ Text constants: }
CON  T_NORMAL   =    0; { for TMODE and TROT }

CON  T_TRANSP   =    1;
CON  T_XOR      =    2;

CON  T_STD      =    -1; { reset to standard font }

CON  T_BOLD     =    %00001;
CON  T_LIGHT    =    %00010;
CON  T_ITALIC   =    %00100;
CON  T_OUTLINED =    %10000;

CON  T_VERTICAL =    1;

CON  T_LEFT     =    -1;
CON  T_RIGHT    =    -2;
CON  T_UP       =    -1;
CON  T_DOWN     =    -2;
CON  T_CENTER   =    -3;
CON  T_BLOCK    =    -4;
CON  T_SAME     =    -5;
CON  T_NEXT     =    -6;

{ screens, colors and patterns: }
SCR  ATARI   = $0000;
SCR  BLACK   = $7F00;    { colors }
SCR  WHITE   = $7F01;
SCR  RED     = $7F02;
SCR  GREEN   = $7F03;
SCR  BLUE    = $7F04;
SCR  CYAN    = $7F05;
SCR  YELLOW  = $7F06;
SCR  MAGENTA = $7F07;
SCR  LWHITE  = $7F08;
SCR  LBLACK  = $7F09;
SCR  LRED    = $7F0A;
SCR  LGREEN  = $7F0B;
SCR  LBLUE   = $7F0C;
SCR  LCYAN   = $7F0D;
SCR  LYELLOW = $7F0E;
SCR  LMAGENTA= $7F0F;

SCR  GREY    = $7F13;
SCR  PAT_1   = $7F10;   { VDI standard patterns } 
SCR  PAT_2   = $7F11;
SCR  PAT_3   = $7F12;
SCR  PAT_4   = $7F13;
SCR  PAT_5   = $7F14;
SCR  PAT_6   = $7F15;
SCR  PAT_7   = $7F16;
SCR  PAT_8   = $7F17;
SCR  PAT_9   = $7F18;
SCR  PAT_10  = $7F19;
SCR  PAT_11  = $7F1A;
SCR  PAT_12  = $7F1B;
SCR  PAT_13  = $7F1C;
SCR  PAT_14  = $7F1D;
SCR  PAT_15  = $7F1E;
SCR  PAT_16  = $7F1F;
SCR  PAT_17  = $7F20;
SCR  PAT_18  = $7F21;
SCR  PAT_19  = $7F22;
SCR  PAT_20  = $7F23;
SCR  PAT_21  = $7F24;
SCR  PAT_22  = $7F25;
SCR  PAT_23  = $7F26;
SCR  PAT_24  = $7F27;
SCR  PAT_25  = $7F28;
SCR  PAT_26  = $7F29;
SCR  PAT_27  = $7F2A;
SCR  PAT_28  = $7F2B;

SCR  SPEC_1  = $7F2C;  { special patterns }
SCR  SPEC_2  = $7F2D;
SCR  SPEC_3  = $7F2E;
SCR  SPEC_4  = $7F2F;
SCR  SPEC_5  = $7F30;
SCR  SPEC_6  = $7F31;
SCR  SPEC_7  = $7F32;
SCR  SPEC_8  = $7F33;
SCR  SPEC_9  = $7F34;
SCR  SPEC_10 = $7F35;
SCR  SPEC_11 = $7F36;
SCR  SPEC_12 = $7F37;

SCR  BACK_1  = $7F38;  { backround patterns }
SCR  BACK_2  = $7F39;
SCR  BACK_3  = $7F3A;
SCR  BACK_4  = $7F3B;
SCR  BACK_5  = $7F3C;
SCR  BACK_6  = $7F3D;
SCR  BACK_7  = $7F3E;
SCR  BACK_8  = $7F3F;
SCR  BACK_9  = $7F40;
SCR  BACK_10 = $7F41;
SCR  BACK_11 = $7F42;
SCR  BACK_12 = $7F43;
SCR  BACK_13 = $7F44;
SCR  BACK_14 = $7F45;
SCR  BACK_15 = $7F46;
SCR  BACK_16 = $7F47;
SCR  BACK_17 = $7F48;
SCR  BACK_18 = $7F49;
SCR  BACK_19 = $7F4A;
SCR  BACK_20 = $7F4B;

SCR  SCREEN  = $FFFF; { physical screen }

{ fading algorithms: }
FAD  ELOCIN    =  1 ( WORD:7 [ZM=0], WORD [LM=FULL], SWORD [Anzahl=500],
                      SCALEX [X1=250], SCALEY [Y1=250], SCALEX [X2=750],
                      SCALEY [Y2=750], SWORD [V_X1=8], SWORD [V_Y1=-1],
                      SWORD [V_X2=-5], SWORD [V_Y2=1] );

FAD  DRAGON    =  2 ( WORD:7 [ZM=0], WORD [LM=FULL] );

FAD  SIMPLE    =  3 ( WORD:7 [ZM=0], WORD [LM=FULL] );

FAD  BLOOM     =  4 ( WORD:7 [ZM=0], WORD [LM=FULL] );

FAD  HELI      =  5 ( WORD:7 [ZM=0], WORD [LM=FULL] );

FAD  HRIGHT    =  6 ( WORD:7 [ZM=0], WORD [LM=FULL],
                      SCALEX [X=500], SCALEY [Y=500] );

FAD  HLEFT     =  7 ( WORD:7 [ZM=0], WORD [LM=FULL], 
                      SCALEX [X=500], SCALEY [Y=500] );

FAD  FRAME     =  8 ( WORD:7 [ZM=0], WORD [LM=FULL],
                      SCALEX [X1=0], SCALEY [Y1=0], SCALEX [X2=999], 
                      SCALEY [Y2=999], SCALEX [Breite=50] );

FAD  SUNRISE   =  9 ( WORD:7 [ZM=0], WORD [LM=FULL], WORD [Anzahl=500], 
                      SCALEX [X=500], SCALEY [Y=500] );

FAD  MIKADO    = 10 ( WORD:7 [ZM=0], WORD [LM=FULL], WORD [Anzahl=500] );

FAD  DAZZLE    = 11 ( WORD:1000 [Pause=100],
                      WORD:999 [X=500], WORD:999 [Y=500] );

FAD  CHESS     = 12 ( WORD:1000 [Pause=50], SBYTE:5 [Maske=1] );

FAD  FLASH     = 13 ( WORD:1000 [Pause=50], SBYTE:5 [Maske=4] );

FAD  FLIP      = 14 ( WORD:1000 [Pause=10], BYTE:4 [Richtung=RIGHT] );

FAD  HARD      = 15 ( WORD:1000 [Pause=100] );

FAD  JOIN      = 16;

FAD  NOODLEWOOD = 17;

FAD  SCROLL    = 18 ( WORD:1000 [Pause=0], WORD:4 [Richtung=UP], 
                      SCALEX [X1=250], SCALEY [Y1=250],
                      SCALEX [X2=750], SCALEY [Y2=750] );

FAD  SNAKE     = 19 ( WORD:1000 [Pause=0] );

FAD  SPLIT     = 20;

FAD  SHIFT     = 21;

FAD  SNEEZE    = 22 ( WORD:1000 [Anzahl=100], SCALEX [Radius=400],
                      SCALEX [X=499], SCALEY [Y=499] );

FAD  RASTER    = 23 ( WORD:7 [ZM=0], WORD [LM=FULL] );

FAD  FOLLY     = 24 ( WORD:7 [ZM=0], WORD [LM=FULL], WORD [Anzahl=500],  
                      SCALEX [X1=400], SCALEY [Y1=600], 
                      SCALEX [X2=600], SCALEY [Y2=400] );

FAD  SMEARBOX  = 25 ( WORD:7 [Modus=0], SCALEX [X1=250], SCALEY [Y1=250], 
                      SCALEX [X2=750], SCALEY [Y2=750], SCALEX [Start_x=0], 
                      SCALEY [Start_y=0], SCALEX [Ende_x=1000], 
                      SCALEY [Ende_y=1000], WORD [Schritte=200] );

FAD  FLIPPER   = 26 ( WORD:7 [ZM=0], WORD [LM=FULL], WORD [Anzahl=5000], 
                      SCALEX [X=500], SCALEY [Y=500] );

FAD  VENICE    = 27 ( SWORD:31999 [Step_1=1], SWORD:31999 [Step_2=0], 
                      WORD:31999 [Start=0], WORD:1000 [Pause_1=0], 
                      WORD:1000 [Pause_2=0] );

FAD  FLAP_IN   = 28 ( WORD:1000 [Pause=100] );

FAD  FLAP_OUT  = 29 ( WORD:1000 [Pause=100] );

FAD  MEMORY    = 30 ( WORD:1000 [Pause=10], WORD:7 [Fenster=4], 
                      BYTE:10 [Anzahl=3] );

FAD  FLAPS     = 31 ( WORD:1000 [Pause=50], SWORD:7 [Breite=-2] );

FAD  BLURB     = 32 ( WORD:1000 [Pause=10], WORD:20 [Streifen=3], 
                      BYTE:2 [Modus=IN] );

FAD  BYTES     = 33 ( WORD:32000 [Anzahl=25000] );

FAD  BITS      = 34;

FAD  FASTSCROLL = 35 ( BYTE:4 [Richtung=UP] );

FAD  PLOT_TO   = 36 ( WORD:7 [ZM=0], WORD [LM=FULL], 
                      SCALEX [X=500], SCALEY [Y=500] );

FAD  PLOTLINE  = 37 ( WORD:7 [ZM=0], WORD [LM=FULL], SCALEX [X1=200], 
                      SCALEY [Y1=500], SCALEX [X2=800], SCALEY [Y2=500] );

FAD  CIRCLE    = 38 ( WORD:7 [ZM=0], WORD [LM=FULL], 
                      SCALEX [X=500], SCALEY [Y=500], 
                      SCALEX [Radius=250], SCALEX [Rand=5] );

FAD  BOTTLENECK = 39 ( SWORD:2 [Modus=1] );

FAD  BOX       = 40 ( WORD:7 [Modus=0], SCALEX [X1=250], SCALEY [Y1=250], 
                      SCALEX [X2=750], SCALEY [Y2=750] );

FAD  SLIME     = 41 ( WORD:1000 [Pause=100], BYTE:2 [Richtung=DOWN] );

FAD  FLAP_UP   = 42 ( WORD:1000 [Pause=100] );

FAD  FLAP_DOWN = 43 ( WORD:1000 [Pause=100] );

FAD  ZIPPER    = 44;

FAD  MOVEBOX   = 45 ( WORD:7 [Modus=0], SCALEX [X1=250], SCALEY [Y1=250], 
                      SCALEX [X2=750], SCALEY [Y2=750], SCALEX [Start_x=0], 
                      SCALEY [Start_y=0], SCALEX [Ende_x=1000], 
                      SCALEY [Ende_y=1000], WORD [Schritte=150] );

FAD  SWAP      = 46 ( BYTE:5 [Achse=DIAGONAL] );

FAD  CUBE_UP   = 47 ( WORD:1000 [Pause=200] );

FAD  CUBE_DOWN = 48 ( WORD:1000 [Pause=200] );

FAD  FADE_IN   = 49 ( WORD:1000 [Pause=200], WORD:$777 [Startwert=$000] );

FAD  FADE_OUT  = 50 ( WORD:1000 [Pause=200], WORD:$777 [Endwert=$000] );

FAD  DISC      = 51 ( SCALEX [X =499], SCALEY [Y=499],
                      SCALEX [RX=1],  SCALEY [RY=1],
                      SCALEX [SX=31], SCALEY [SY=50], 
                      WORD:1000 [Anzahl=30] );
                      
FAD  DIAMOND   = 52 (  WORD:1000 [Pause=50], SBYTE:5 [Maske=1] );

{ external modules: }
MOD  WINDOW     = 1 ( SCALEX [X1=0], SCALEY [Y1=0], 
                      SCALEX [X2=999], SCALEY [Y2=999]);

MOD  MIRROR     = 2 ( BYTE:%11111 [Achsen=%00001] );

MOD  REDRAW     = 3 ( WORD:7 [ZM=0], WORD [LM=FULL], 
                      WORD:3999 [Anzahl=200], BYTE:2 [Bild=DESTIN] );

MOD  SPOT       = 13 ( WORD:15 [Nummer=0], SCALEX [X=500], SCALEY [Y=250] );

MOD  DEFAULT    = 4;

{ text modules: }
MOD  TCOLOR     = 5 ( WORD:15 [Zeichen =0], 
                      WORD:15 [Hintergr=1] );

MOD  TFONT      = 6 ( SBYTE:2   [Font=T_STD], 
                      SBYTE:100 [Groesse=0] );

MOD  TMODE      = 7 ( BYTE:19     [Modus =T_XOR], 
                      BYTE:%11111 [Attrib=T_NORMAL] );

MOD  TSKEW      = 8 ( SWORD:100 [X-D=0], SWORD:100 [Y-D=0] );

MOD  TROT       = 9 ( BYTE:1 [China =0], 
                      BYTE:3 [Richtung=0] );
MOD  TRESET     = 10;

{ color modules: }
MOD  COLOR      = 11 ( WORD:15   [Farb-Nr=0], 
                       WORD:$777 [RGB-Wert=$777] );

MOD  ALLCOLOR   = 12 ( SWORD:$777 [F00=-1], SWORD:$777 [F01=-1], 
                       SWORD:$777 [F02=-1], SWORD:$777 [F03=-1], 
                       SWORD:$777 [F04=-1], SWORD:$777 [F05=-1], 
                       SWORD:$777 [F06=-1], SWORD:$777 [F07=-1], 
                       SWORD:$777 [F08=-1], SWORD:$777 [F09=-1], 
                       SWORD:$777 [F10=-1], SWORD:$777 [F11=-1], 
                       SWORD:$777 [F12=-1], SWORD:$777 [F13=-1], 
                       SWORD:$777 [F14=-1], SWORD:$777 [F15=-1] );

MOD  COLOR_ROT  = 14 ( WORD:7 [Slot=0], WORD:30000 [Pause=50],
                       SWORD:15 [F00=-1], SWORD:15 [F01=-1],
                       SWORD:15 [F02=-1], SWORD:15 [F03=-1],
                       SWORD:15 [F04=-1], SWORD:15 [F05=-1],
                       SWORD:15 [F06=-1], SWORD:15 [F07=-1],
                       SWORD:15 [F08=-1], SWORD:15 [F09=-1],
                       SWORD:15 [F10=-1], SWORD:15 [F11=-1],
                       SWORD:15 [F12=-1], SWORD:15 [F13=-1],
                       SWORD:15 [F14=-1], SWORD:15 [F15=-1] );

MOD  COLOR_STOP = 15;

MOD  RANDOM     = 16 ( SLONG [Start=19681002] );

MOD  SETMASK    = 17 ( WORD  [M0=$0],    WORD  [M1=$2],    WORD  [M2=$5], 
                       WORD  [M3=$A],    WORD  [M4=$15],   WORD  [M5=$2A],
                       WORD  [M6=$55],   WORD  [M7=$AA],   WORD  [M8=$155],        
                       WORD  [M9=$2AA],  WORD [M10=$555],  WORD [M11=$AAF],
                       WORD [M12=$155F], WORD [M13=$2AFF], WORD [M14=$57FF], 
                       WORD [M15=$BFFF], WORD [M16=$FFFF] );

END;

